/**
 * 
 */
package com.designpattern.design.composite;

/**
 * @author zhangyang
 *
 */
public class CompositeTest {
public static void main(String[] args) {
	//新建一个系统
	AbsResourceTree softWare = new SoftWare();
	softWare.setResName("imes");
	softWare.setResCode("IMES");
	//新建两个一级菜单
	AbsResourceTree sys = new Module();
	sys.setResName("系统管理");
	sys.setResCode("sys");
	AbsResourceTree goods = new Module();
	goods.setResName("商品管理");
	goods.setResCode("goods");
	//新建两个二级菜单
	AbsResourceTree userSys = new Menu();
	userSys.setResName("用户管理");
	userSys.setResCode("user");
	AbsResourceTree roleSys = new Menu();
	roleSys.setResName("角色管理");
	roleSys.setResCode("role");
	AbsResourceTree goodsType = new Menu();
	goodsType.setResName("商品类型管理");
	goodsType.setResCode("goodsType");
	AbsResourceTree goodsInfo = new Menu();
	goodsInfo.setResName("商品信息");
	goodsInfo.setResCode("goodsInfo");
	//新建几个api接口
	API api = new API();
	api.setResName("新增用户");
	api.setResCode("userAdd");
	
	//将一级菜单添加到系统中
	softWare.add(sys);
	softWare.add(goods);
	//将二级菜单加到一级菜单中
	sys.add(userSys);
	sys.add(roleSys);
	goods.add(goodsType);
	goods.add(goodsInfo);
	//将api接口加到二级菜单中
	userSys.add(api);
	
	//获取系统所有菜单信息
//	softWare.print();
	//获取所有一级菜单系统管理所有下属菜单信息
//	sys.print();
	//获取二级菜单用户管理所有的下属API接口信息
	userSys.print();
	
	
}
}
